//服务器根据用户返回的menulist数据和allRoutes数据进行匹配,得到符合当前用户的路由配置

/**
 *
 * @param {Array} allRoutes 用户的有效的完整路由配置
 * @param {Array} menuList 服务器返回的用户合法的菜单名字
 */
import allRoutes from "../router/allRoutes";
const recursionRoutes = (allRoutes, menuList) => {
  let userRoutes = []; //用户合法的路由配置
  allRoutes.forEach(item => {
    //遍历本地所有路由配置
    menuList.forEach(v => {
      //遍历用户合法菜单
      //如果路由配置中meta的name和路由合法菜单中的name相同,则加入用户合法的路由配置
      if (item.meta.name === v.name) {
        //如果本地路由和用户合法菜单中匹配执行
        if (v.children && v.children.length > 0) {
          //如果用户合法路由菜单中有chlidren属性并且是一个有值数组
          item.children = recursionRoutes(item.children, v.children); //递归调用匹配合法的子路由(甚至多层路由)
        }
        userRoutes.push(item); //符合条件的路由添加到用户路由中
      }
    });
  });
  return userRoutes; //返回用户的合法路由一定要返回结果
};
export default recursionRoutes;
export const permission = (buttons,permission)=>{
//   console.log(permission);
//   console.log(buttons);
let res = buttons.includes(permission)
return res
}
